package org.carshared.principal;

import java.util.ArrayList;

import org.carshared.R;
import org.carshared.utils.PassengerBeen;
import org.carshared.utils.TravelBeen;

import com.google.gson.Gson;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.EditText;
import android.widget.Spinner;

public class NewTravelOwnerActivity extends Activity {

	private TravelBeen dataTravel;
	private int nPasajeros = 1;
	private Spinner numPasajeros;
	private EditText vistanombre1;
	private EditText vistanombre2;
	private EditText vistanombre3;
	private EditText vistanombre4;
	ArrayList<PassengerBeen> listaPasajeros;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_newtravel_owner);
		numPasajeros = (Spinner) findViewById(R.id.numPasajeros);
		dataTravel = new TravelBeen();
		listaPasajeros = new ArrayList<PassengerBeen>();

		vistanombre1 = (EditText) findViewById(R.id.nombre1);
		vistanombre2 = (EditText) findViewById(R.id.nombre2);
		vistanombre3 = (EditText) findViewById(R.id.nombre3);
		vistanombre4 = (EditText) findViewById(R.id.nombre4);

		numPasajeros.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> parentView,
					View selectedItemView, int position, long id) {

				try {
					nPasajeros = Integer.parseInt(numPasajeros
							.getSelectedItem().toString());
				} catch (Exception e) {

				}

				if (nPasajeros == 2) {
					vistanombre2.setEnabled(true);
				} else if (nPasajeros == 3) {
					vistanombre2.setEnabled(true);
					vistanombre3.setEnabled(true);
				} else if (nPasajeros == 4) {
					vistanombre2.setEnabled(true);
					vistanombre3.setEnabled(true);
					vistanombre4.setEnabled(true);
				}

			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub

			}
		});

	}

	public void saveData(View view) {

		EditText origenDestino = (EditText) findViewById(R.id.origenDestino);
		dataTravel.setOrigenDestino(origenDestino.getText().toString());
		EditText kmTrayecto = (EditText) findViewById(R.id.trayecto);
		dataTravel.setKmTrayecto(Float.parseFloat(kmTrayecto.getText()
				.toString()));

		EditText precioCombustible = (EditText) findViewById(R.id.precio);
		dataTravel.setPrecioCombustible(Float.parseFloat(precioCombustible
				.getText().toString()));
		EditText consumoVehiculo = (EditText) findViewById(R.id.consumo);
		float consumo100 = Float.parseFloat(consumoVehiculo.getText()
				.toString());
		float consumoPorKm = consumo100 / 100;
		dataTravel.setGastoCoche(consumoPorKm);
		dataTravel.setPrecioTrayecto(dataTravel.getGastoCoche()
				* dataTravel.getPrecioCombustible()
				* dataTravel.getKmTrayecto());

		nPasajeros = Integer
				.parseInt(numPasajeros.getSelectedItem().toString());
		dataTravel.setnPasajeros(nPasajeros);
		dataTravel.setTipo("owner");
		
		String nombre1 = vistanombre1.getText().toString();
		listaPasajeros.add(new PassengerBeen(dataTravel.getOrigenDestino(),
				nombre1));

		if (vistanombre2.getText() != null
				&& !("").equals(vistanombre2.getText().toString())) {
			String nombre2 = vistanombre2.getText().toString();
			listaPasajeros.add(new PassengerBeen(dataTravel.getOrigenDestino(),
					nombre2));

			if (vistanombre3.getText() != null
					&& !("").equals(vistanombre3.getText().toString())) {
				String nombre3 = vistanombre3.getText().toString();
				listaPasajeros.add(new PassengerBeen(dataTravel
						.getOrigenDestino(), nombre3));

				if (vistanombre4.getText() != null
						&& !("").equals(vistanombre4.getText().toString())) {
					String nombre4 = vistanombre4.getText().toString();

					listaPasajeros.add(new PassengerBeen(dataTravel
							.getOrigenDestino(), nombre4));
				}
			}
		}

		dataTravel.setListaPasajeros(listaPasajeros);

		Intent returnIntent = new Intent();
		Gson gson = new Gson();
		returnIntent.putExtra("result", gson.toJson(dataTravel));
		returnIntent.putExtra("executed", true);
		setResult(RESULT_OK, returnIntent);
		NewTravelOwnerActivity.this.finish();
	}

	public void cancelData(View view) {
		Intent returnIntent = new Intent();
		setResult(RESULT_CANCELED, returnIntent);
		NewTravelOwnerActivity.this.finish();
	}

}
